// 创建仓库维护token
import { TOKEN_KEY } from '@/constants'
import Cookies from 'js-cookie'
import { defineStore } from 'pinia'
import { ref } from 'vue'

// 全局状态管理用户模块
export const useUserStore = defineStore('hm-user', () => {
  const token = ref(Cookies.get(TOKEN_KEY) || '')
  // 保存token
  const setToken = (val: string) => {
    //存储token到store中，内存访问速度更快
    token.value = val
    // 通过Cookies存储token (后台管理系统比较常见)
    Cookies.set(TOKEN_KEY, val)
  }

  // 清除token
  const removeToken = () => {
    // 内存中删除
    token.value = ''
    // 本地中删除
    Cookies.remove(TOKEN_KEY)
  }
  return {
    token,
    setToken,
    removeToken,
  }
})
